#include"ThreadPool.hpp"
#include<memory>
#include"Task.hpp"
using namespace ThreadPoolModule;


int main()
{
    ENABLE_CONSOLE_LOG();
    ThreadPool<task_t>::getInstance()->Start();
    char c;
    int cnt = 5;
    while (cnt)
    {
        // std::cin >> c;
        ThreadPool<task_t>::getInstance()->Enqueue(Push);
        cnt--;
        sleep(1);
    }

    ThreadPool<task_t>::getInstance()->Stop();
    ThreadPool<task_t>::getInstance()->Wait();
}

// int main()
// {
//     ENABLE_CONSOLE_LOG();
//     //创建线程池
//     std::unique_ptr<ThreadPool<task_t>> tp =std::make_unique<ThreadPool<task_t>>();

//     //启动线程池
//     tp ->Start();

//     //传入任务
//     int cnt =15;
//     while(cnt--)
//     {
//         tp->Enqueue(Push);
//         sleep(1);
//     }

//     //线程池退出
//     tp->Stop();

//     //线程池回收线程
//     tp ->Wait();


//     return 0;
// }